Rendered images (e.g., displayed or printed images) may be represented as a two-dimensional array of picture elements (pixels). The color intensity level of each pixel is chosen according to the output (rendering) device. For example, a computer monitor used for displaying an image may have 256 or more levels of intensity for each color. Computer monitors typically use the primary colors red, green and blue, which can be combined to produce millions of different colors including black.
Printers (and other hardcopy output devices) are commonly provided with three ink colors (cyan, magenta and yellow) or four ink colors (cyan, magenta, yellow and black). Many types of printers, such as inkjet printers, eject droplets of ink to form dots on a print medium. Such printers are typically binary devices, meaning that for each pixel or possible dot location on the print medium, the printer can only print at two levels per color; that is, it can either print a dot at the intensity level of the ink, or it cannot print a dot. Thus, a pixel in an image displayed on a monitor can have an intensity value in the range of 0–255, while a pixel in a printed image can have an intensity value of either zero or 255. Because binary-type printers cannot print colors at 256 levels of color intensity, some type of technique is needed to convert the monitor (displayed) version of the image into the binary version used for printing.
Conversion techniques are known in the art as halftoning. One halftoning approach known in the art is error diffusion. With error diffusion, a decision about whether or not to print a dot of a particular color at a particular location, or how many overlapping dots of a color to print at a location, is based not only on the “ideal” or original intensity (0–255) at that location but also on what happened at neighboring locations. The objective is to intelligently place dots on the print medium so that, to the human visual system, the printed image is a visually accurate enough representation of the actual or displayed image.
When printing a color image, dots for the three primary colors (e.g., cyan, magenta and yellow) are printed in various combinations that, along with the locations at which no dot is printed, achieve the color tones needed to reproduce the original color image. Some prior art error diffusion techniques operate on one of the color planes (e.g., the cyan, magenta or yellow plane) at a time. These types of error diffusion techniques generate a pattern of dots for each color independently of the pattern of dots for each of the other colors. Although computationally efficient, such techniques can unintentionally overlap dots from different color planes or inappropriately place (clump) dots from different color planes in adjacent locations, creating an undesirable color combination or resulting in a displeasing pattern.
Other prior art error diffusion techniques attempt to address these shortcomings by considering more than one color plane at time. These techniques employ sophisticated error diffusion algorithms to consider all of the color planes jointly. However, the complexity of these techniques can consume a significant portion of the computational resources available and can slow down the printing process.
One such prior art technique is described in U.S. Pat. No. 5,949,965 by Jay S. Gondek, “Correlating Cyan and Magenta Planes for Error Diffusion Halftoning,” issued Sep. 7, 1999, assigned to the assignee of the present invention and hereby incorporated by reference. In the reference, the cyan and magenta planes are treated dependently, such that the placement of cyan dots and magenta dots is determined together so that undesirable combinations of these colors do not occur. The reference states that the techniques described therein may be extended so that the cyan, magenta and yellow planes are considered together. However, consideration of the yellow plane together with consideration of the cyan plane and the magenta plane substantially increases the complexity of the calculations that are involved and the amount of computational resources required. Generally speaking, if the technique described in the reference is used to consider the cyan, magenta and yellow planes together, the computational effort increases by an order of magnitude, with an attendant increase in the computational resources required.
Complexity is often reduced in prior art methods by observing that the unintended overlap or clumping of cyan and magenta dots, producing a blue tone, is the most undesirable. Prior art techniques (including the Gondek reference) therefore halftone only the cyan and magenta planes dependently, thereby reducing the number of instances in which cyan and magenta are overlapped or clumped.
Nevertheless, this approach is not completely satisfactory because it remains deficient with regard to the placement of yellow dots. That is, the prior art attempts to strike a compromise between the quality of the printed image and computational efficiency by treating only the cyan and magenta planes dependently. Because of the complexity associated with treating three planes dependently, the yellow plane is left to independent treatment. As a result of treating the yellow plane independently, interference can occur between yellow dots and cyan dots (producing inadvertent green dots) or between yellow dots and magenta dots (producing inadvertent red dots), which could cause unpleasant color fluctuations in the printed image.
Accordingly, what is needed is a method and/or system that can properly consider the yellow plane as well as the cyan and magenta planes, but without substantially increasing the complexity of the calculations or the amount of computational resources required. The present invention provides a novel solution to the above needs.